草庐IT

Linux命令篇 - grep 命令

全部标签

c++ - typedef 一个可在 Windows 和 Linux 上使用的 C++ 函数

我在Windows(WIN32API)中有一些庞大的C++代码库,现在我也想将它移植到Linux。但是,更改代码并不是一个好主意,因为对于Linux和Windows,将有两个文件拷贝。相反,我的想法是,拥有一个包含所有WIN32特定声明到Linux声明的typedef的头文件,并适本地包含它。#ifdef__gnu_linux__#include"linuxCPPTypeDef.h"#endiflinuxCPPTypeDef.h将包含typedefunsignedintDWORD;等到这里为止一切都很好。棘手的部分是..我的代码在很多地方使用标准的min函数,但g++不理解它(需要st

linux - Win32 InterlockedIncrement 和 InterlockedExchange 是跨进程的原子吗?

MSDN说互锁函数提供了一种简单的机制来同步访问由多个线程共享的变量。如果变量在进程的共享内存中,我不确定它们是否跨多个进程的线程工作。同样,GNUGCC编译器内部函数又如何:__sync_add_and_fetch和__sync_lock_test_and_set? 最佳答案 这个问题本质上是两个不同答案的两个问题。对于GCC中的__sync_XXX内置函数,答案是肯定的。引用任何在线文档,如this,在描述的地方,这些内置通常会发出完整的屏障,甚至可以防止处理器管道内的内部推测负载。每个和所有多线程、多进程等共享内存对它们都是安

windows - 将批处理命令(forfiles)的输出存储到变量中

我正在使用批处理文件从cmd.exe运行以下命令。forfiles/pC:\Users\subhamt\Downloads/membeddedsection.zip/c"cmd/cecho@fsize"我想做的是我想将命令的输出保存到一个变量中,因为我将上面的命令更改为:setvar=forfiles/pC:\Users\subhamt\Downloads/membeddedsection.zip/c"cmd/cecho@fsize"但是当我在var上执行echo时,它会给我上面的commadnd本身作为输出。有人可以指出我做错了什么吗。我浏览了以下链接和更多链接,但它们没有解决我手头

windows - 显示文件属性的命令行?

我想编写一个显示默认Windows属性表的应用程序,我找不到太多关于以正常编程方式执行此操作的信息,所以我想也许可以调用命令行;有谁知道Windows命令行调用文件的属性/详细信息窗口?没有找到它的运气。这里是这个窗口: 最佳答案 一般来说,有两种方法可以解决这个问题。具体如何完成它(即PowerShell、C#等)取决于您。使用PROPERTIES动词对文件调用ShellExecute函数。对该文件调用SHObjectProperties函数。两者的示例都可以在AutoIt中找到:http://www.autoitscript.c

python - 用于访问另一个目录中的 python 脚本的通用批处理命令

我有以下位于桌面上的.bat脚本。我有一个python脚本,它也位于桌面上的一个文件夹(“文件夹”)中。如果两个文件都在同一目录中,我可以运行.bat脚本,但是当它位于“文件夹”中时,我如何访问python脚本?我希望它在其他计算机上运行,​​所以我试图避免定义用户名(例如C:\Users\user_name\Desktop),除非有一种通用的方法来获取用户名并将其合并到.bat文件。下面是.bat脚本:@echooffremRootOSGEO4Whomedirtothefollowingdirectorycall"C:\OSGeo4W64\bin\o4w_env.bat"echo.c

windows - 为什么我的 Powershell 中的 Set-DisplayResolution 命令不见了?

我在我的Mac上使用Parallels来运行Windows8.1操作系统。Parallels有一个怪癖,每次重新启动时都会将屏幕分辨率重置为最高级别。因此,我想编写一个简短的Powershell脚本,自动将我的屏幕分辨率设置为我喜欢的分辨率。问题是,使用Set-ScreenResolution或Set-DisplayResolution会出现以下错误:Set-DisplayResolution:Theterm'Set-DisplayResolution'isnotrecognizedasthenameofacmdlet,function,scriptfile,oroperablepro

windows - 如果错误级别不为零,如何在批处理文件中执行命令?

我创建了一个简单的批处理文件,使我能够连接到互联网。我是这样做的-如果连接成功,则使用VBscript显示一条消息,说明“连接成功”,如果未建立连接,则显示一条消息,说明“连接失败”。我使用if-else语句和errorlevel命令完成了此操作,但我无法使用“errorlevel==1”命令显示失败消息。我的意思是如果连接过程中出现错误,则会显示成功消息而不是失败信息。这是我的批处理文件中的代码。rasdial"TATAPHOTON+"internet@echooffifERRORLEVEL==0(echoMSGBOX"Connectionsuccessfullyestablishe

windows - 批处理文件在 cd 命令后获取当前工作目录

当我运行位于C:\some\dir中的批处理文件时,我知道我可以使用%cd%和%~dp0获取批处理文件本身的路径和描述的其他信息here.但是在批处理文件执行了几个cd命令后,我还没有设法获得“当前工作目录”。例如:批处理文件在C:\some\dir批处理文件执行cdsub和之后的cdsub2如何获取那个文件夹的路径?它应该产生C:\some\dir\sub\sub2并且在命令行中手动执行上述所有操作时相当于pwd命令!上面的任何命令我都不走运!它说here%cd%变量应该在使用cd命令后更新,但我总是得到C:\some\dir作为输出。编辑linktoashortversionofm

linux - cygwin 二进制 exec 格式错误

我有一个脚本文件,可以使用Cygwin在Windows中运行。当我尝试使用此文件时出现以下错误-bash:/sigdet/filename:cannotexecutebinaryfile:Execformaterror.sigdet是我拥有脚本的Cygwin目录中的文件夹。Rawdata是包含脚本应该分析的原始数据文件的目录的名称。为了尝试解决这个问题,我更改了文件权限,我已经检查以确保它在64位机器上并且脚本似乎是在64位机器上编译的。完成这些步骤后,我不知道还有什么问题。以下是我输入的命令:我首先像这样更改了目录:$cd/sigdet/然后我运行了支持工作的脚本:$/sigdet/

即使在 Windows 后台运行命令后,PHP 脚本仍卡在 exec 上

我想要一个php脚本,我可以从中执行一个程序,如果它没有在2秒内完成执行则终止它。我正在使用Windows。我尝试了以下代码:exec("start/Bprogram.exe");sleep(2);exec('taskkill/F/IM"program.exe"');这似乎不起作用,因为只要program.exe未完成执行,脚本就会卡在第一个exec语句上。我不知道如何解决这个问题。 最佳答案 你是用phpcli(commandline)做的吗??打开commandpromptasadministrator.为了不被等待程序阻塞cl